#!/bin/bash
##数据库备份脚本。
##备份目录
BACKUP=/data/backup/db
##当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo "获取的时间为=$DATETIME";
#数据库连接信息
HOST=localhost
DB_USER=root
DB_PW=123456
DATABASE=hspedu

#如果不存在目录，就创建该备份目录。
if [ ! -d "$BACKUP/$DATETIME" ]
then
  mkdir -p "$BACKUP/$DATETIME";
fi

echo "开始备份数据库";
#备份数据库
mysqldump -u$DB_USER -p$DB_PW --host$HOST -q -R --databases $DATETIME | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz

#将文件处理成tar.gz
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除对应的备份目录
rm -rf $BACKUP/$DATETIME

#删除10天前的备份文件
find $BACKUP -atime +10 -name "*.tar.gz" -exec rm {} \;

echo "备份数据库完成";


:<<!
到此备份的shell就写完了。
之后需要在bash命令行中配置一个定时任务。
crontab -e
30 2 * * * /usr/sbin/DBBackUp.sh

!





